Some computer networks support data in-flight (DIF) services, a set of attributes, transformations, or manipulations that apply to data being transferred between nodes of the network. For example DIF services may be used to provide data integrity, data isolation, data quality of service (QoS), and/or data security (e.g., encryption). In the context of a storage area network (SAN), data generated by software applications is transmitted through a fabric of network nodes to a consolidated data store. The nodes may include, for example, initiators (e.g., host bus adapters, HBAs), network switches, and/or storage controllers in the SAN.
DIF services implementations generally include multiple network nodes working in tandem to accomplish desired results. For example, to provide a QoS guarantee (e.g., a minimum bandwidth and/or a maximum latency), a QoS policy may be enforced by all nodes between a source node and the datastore. Accordingly, a number of DIF services standards have been developed for use by devices along the path of data transmission. However, at least some of these standards do not support virtualization technology and may be unable to distinguish between software applications, such as virtual machines (VMs), executed by a single host. DIF services may therefore be applied to a host based on the DIF services desired for any application executed by that host. For example, if encryption is desired for a first application at a host and QoS is desired for a second application at the host, an operator may apply both encryption and QoS to the host. As a result, both services are applied to the first and second applications, even though the operator has no desire to apply QoS to the first application, or to apply encryption to the second application. Such over-application of DIF services may increase operating overhead in the form of computing resource (e.g., processor time, memory, and/or network bandwidth) utilization at the host and/or elsewhere within the network while providing little or no benefit to the operator.
Conceivably, computing resources may be more efficiently utilized by updating existing standards to apply DIF services to individual applications, and modifying the nodes in a network to support the updated standards. However, modifying multiple network nodes, potentially provided by different vendors, to support updated standards may be infeasible or impossible. For example, modifying the network nodes may impose significant configuration and testing effort. Further, some device vendors may be reluctant to invest the effort to support such updated standards.